package com.itany.shop.util;

import java.util.List;

/**
 * @author 黄衡熙
 * @version 1.0
 */
public class PageInfo<T> {
    private int total;  // 总记录条数
    private int pages;  // 总页数
    private int pageNo; // 当前页
    private int pageSize; // 每页数据条数
    private List<T> list;   // 当前页的数据

    public PageInfo(int total, int pageNo, int pageSize, List<T> list) {
        this.total = total;
        this.pageNo = pageNo;
        this.pageSize = pageSize;
        this.list = list;
        // 如果总页数与总数据条数全部由使用者定义,会存在冲突的情况
        // 因此,对于总页数,必须根据已知数据推导出来
        pages = total % pageSize == 0 ? total / pageSize : total / pageSize + 1;
    }

    /**
     * 获取上一页
     * @return
     */
    public int getPrePage() {
        return pageNo == 1 ? 1 : pageNo - 1;
    }

    /**
     * 下一页
     * @return
     */
    public int getNextPage() {
        return pageNo == pages ? pages : pageNo + 1;
    }

    /**
     * 首页
     * @return
     */
    public int getHeadPage() {
        return 1;
    }

    /**
     * 尾页
     * @return
     */
    public int getFootPage() {
        return pages;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public int getPages() {
        return pages;
    }

    public void setPages(int pages) {
        this.pages = pages;
    }

    public int getPageNo() {
        return pageNo;
    }

    public void setPageNo(int pageNo) {
        this.pageNo = pageNo;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public List<T> getList() {
        return list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }
}
